Skip to content

nuget-dressca: Bump NSwag.AspNetCore and NSwag.MSBuild#5250

Closed
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/nuget/samples/Dressca/dressca-backend/nswag-packages-674688d9de
Closed

nuget-dressca: Bump NSwag.AspNetCore and NSwag.MSBuild#5250
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/nuget/samples/Dressca/dressca-backend/nswag-packages-674688d9de

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 23, 2026

Updated NSwag.AspNetCore from 14.6.3 to 14.7.1.

Release notes

Sourced from NSwag.AspNetCore's releases.

14.7.1

[!IMPORTANT]
Upgrade directly from v14.6.3 to v14.7.1 — skip v14.7.0.

v14.7.0 bundled NJsonSchema v11.6.0, which contained a regression that silently dropped nullability on required T? / [JsonRequired] T? DTO properties. The resulting OpenAPI/JSON schema marked those properties as non-nullable, so generated TypeScript and C# clients lost null-safety for fields the server can legitimately return as null (#​5359).

Corrections to v14.7.0

v14.7.1 updates to NJsonSchema v11.6.1, which corrects the handling of the C# required keyword and [JsonRequired]:

  • These are now treated as presence markers (the property must be present in the JSON) rather than value constraints.
  • Nullability from the declared type (string?, T?) is preserved.
  • No spurious MinLength=1 on non-nullable strings.
  • DataAnnotations [Required] semantics remain unchanged (still suppresses nullability and adds MinLength=1 to strings by default, matching its runtime behavior).

Observable client changes vs v14.7.0

For public required string[]? OptionList { get; init; } (#​5359):

TypeScript client C# client
v14.7.0 (broken) optionList: string[] public string[] OptionList
v14.7.1 optionList: string[] | null public string[]? OptionList

For full details and truth tables across all required / [Required] / [JsonRequired] / [JsonProperty(Required=*)] combinations, see the NJsonSchema v11.6.1 release notes and NJsonSchema #​1919.

What's Changed

Full Changelog: RicoSuter/NSwag@v14.7.0...v14.7.1

14.7.0

[!CAUTION]
Do not use this release — upgrade to v14.7.1 or later.

v14.7.0 bundles NJsonSchema v11.6.0, which contained a regression that silently dropped nullability on required T? / [JsonRequired] T? DTO properties. Generated TypeScript and C# clients lost null-safety for fields the server can legitimately return as null (#​5359). Fixed in v14.7.1.


What's Changed

NJsonSchema v11.6.0 (potentially breaking changes)

This release updates to NJsonSchema v11.6.0 and Namotion.Reflection v3.5.0, which include the following changes that may affect generated code:

  • C# 11 required keyword now correctly recognized: Properties using the C# 11 required keyword (via RequiredMemberAttribute / JsonRequiredAttribute) are now properly treated as required in the schema and generated code. Previously these were incorrectly treated as optional.
  • Removed extra blank line before class declarations in generated C# controller code (cosmetic).
  • New WriteAccessor setting to control property setter syntax (set vs init).
  • New JsonLibraryVersion setting for controlling enum attribute generation with System.Text.Json.
  • Fixed MinLength validation no longer incorrectly applied to DateTime properties.
  • Fixed nullable enum array detection for string enum converters.
  • Support for public fields with System.Text.Json when IncludeFields is enabled.

For the full list of changes, see the NJsonSchema v11.6.0 release notes.

New Contributors

Full Changelog: RicoSuter/NSwag@v14.6.3...v14.7.0

Commits viewable in compare view.

Updated NSwag.MSBuild from 14.6.3 to 14.7.1.

Release notes

Sourced from NSwag.MSBuild's releases.

14.7.1

[!IMPORTANT]
Upgrade directly from v14.6.3 to v14.7.1 — skip v14.7.0.

v14.7.0 bundled NJsonSchema v11.6.0, which contained a regression that silently dropped nullability on required T? / [JsonRequired] T? DTO properties. The resulting OpenAPI/JSON schema marked those properties as non-nullable, so generated TypeScript and C# clients lost null-safety for fields the server can legitimately return as null (#​5359).

Corrections to v14.7.0

v14.7.1 updates to NJsonSchema v11.6.1, which corrects the handling of the C# required keyword and [JsonRequired]:

  • These are now treated as presence markers (the property must be present in the JSON) rather than value constraints.
  • Nullability from the declared type (string?, T?) is preserved.
  • No spurious MinLength=1 on non-nullable strings.
  • DataAnnotations [Required] semantics remain unchanged (still suppresses nullability and adds MinLength=1 to strings by default, matching its runtime behavior).

Observable client changes vs v14.7.0

For public required string[]? OptionList { get; init; } (#​5359):

TypeScript client C# client
v14.7.0 (broken) optionList: string[] public string[] OptionList
v14.7.1 optionList: string[] | null public string[]? OptionList

For full details and truth tables across all required / [Required] / [JsonRequired] / [JsonProperty(Required=*)] combinations, see the NJsonSchema v11.6.1 release notes and NJsonSchema #​1919.

What's Changed

Full Changelog: RicoSuter/NSwag@v14.7.0...v14.7.1

14.7.0

[!CAUTION]
Do not use this release — upgrade to v14.7.1 or later.

v14.7.0 bundles NJsonSchema v11.6.0, which contained a regression that silently dropped nullability on required T? / [JsonRequired] T? DTO properties. Generated TypeScript and C# clients lost null-safety for fields the server can legitimately return as null (#​5359). Fixed in v14.7.1.


What's Changed

NJsonSchema v11.6.0 (potentially breaking changes)

This release updates to NJsonSchema v11.6.0 and Namotion.Reflection v3.5.0, which include the following changes that may affect generated code:

  • C# 11 required keyword now correctly recognized: Properties using the C# 11 required keyword (via RequiredMemberAttribute / JsonRequiredAttribute) are now properly treated as required in the schema and generated code. Previously these were incorrectly treated as optional.
  • Removed extra blank line before class declarations in generated C# controller code (cosmetic).
  • New WriteAccessor setting to control property setter syntax (set vs init).
  • New JsonLibraryVersion setting for controlling enum attribute generation with System.Text.Json.
  • Fixed MinLength validation no longer incorrectly applied to DateTime properties.
  • Fixed nullable enum array detection for string enum converters.
  • Support for public fields with System.Text.Json when IncludeFields is enabled.

For the full list of changes, see the NJsonSchema v11.6.0 release notes.

New Contributors

Full Changelog: RicoSuter/NSwag@v14.6.3...v14.7.0

Commits viewable in compare view.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file nuget NuGetパッケージの更新 target: Dressca サンプルアプリケーションDresscaに関係がある labels Apr 23, 2026
Bumps NSwag.AspNetCore from 14.6.3 to 14.7.1
Bumps NSwag.MSBuild from 14.6.3 to 14.7.1

---
updated-dependencies:
- dependency-name: NSwag.AspNetCore
  dependency-version: 14.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nswag-packages
- dependency-name: NSwag.MSBuild
  dependency-version: 14.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nswag-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title nuget-dressca: Bump the nswag-packages group with 2 updates nuget-dressca: Bump NSwag.AspNetCore and NSwag.MSBuild Apr 24, 2026
@dependabot dependabot Bot force-pushed the dependabot/nuget/samples/Dressca/dressca-backend/nswag-packages-674688d9de branch from c95df3b to 95f926c Compare April 24, 2026 06:27
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Apr 24, 2026

Superseded by #5264.

@dependabot dependabot Bot closed this Apr 24, 2026
@dependabot dependabot Bot deleted the dependabot/nuget/samples/Dressca/dressca-backend/nswag-packages-674688d9de branch April 24, 2026 06:28
@github-actions
Copy link
Copy Markdown

Test Result 📝

Test was a success.
Completed in 4949ms with 234 passed, 0 failed and 0 skipped.

Coverage 📐

Summary
Generated on: 04/24/2026 - 06:29:05
Parser: MultiReport (5x Cobertura)
Assemblies: 7
Classes: 120
Files: 116
Line coverage: 39.2% (1567 of 3991)
Covered lines: 1567
Uncovered lines: 2424
Coverable lines: 3991
Total lines: 8424
Branch coverage: 41.8% (263 of 628)
Covered branches: 263
Total branches: 628
Method coverage: Feature is only available for sponsors
Tag: 668_24875668903
Dressca.ApplicationCore - 96%
Name Line Branch
Dressca.ApplicationCore 96% 81%
Dressca.ApplicationCore.Accounting.Account 92.8% 100%
Dressca.ApplicationCore.Accounting.AccountItem 88.8%
Dressca.ApplicationCore.ApplicationCoreServicesExtensions 100%
Dressca.ApplicationCore.ApplicationService.AssetApplicationService 100% 70%
Dressca.ApplicationCore.ApplicationService.AssetApplicationService.AssetStr
eamInfo
100%
Dressca.ApplicationCore.ApplicationService.CatalogApplicationService 100% 75%
Dressca.ApplicationCore.ApplicationService.CatalogBrandNotExistingInReposit
oryException
100%
Dressca.ApplicationCore.ApplicationService.CatalogCategoryNotExistingInRepo
sitoryException
100%
Dressca.ApplicationCore.ApplicationService.CatalogItemNotExistingInReposito
ryException
100%
Dressca.ApplicationCore.ApplicationService.OrderApplicationService 100% 75%
Dressca.ApplicationCore.ApplicationService.ShoppingApplicationService 99% 85%
Dressca.ApplicationCore.ApplicationService.TransactionScopeManager 100% 100%
Dressca.ApplicationCore.Assets.Asset 94.4% 100%
Dressca.ApplicationCore.Assets.AssetNotFoundException 100%
Dressca.ApplicationCore.Assets.AssetTypes 100% 100%
Dressca.ApplicationCore.Authorization.NotConnectedUserStore 0%
Dressca.ApplicationCore.Authorization.PermissionDeniedException 100%
Dressca.ApplicationCore.Authorization.Roles 100%
Dressca.ApplicationCore.Baskets.Basket 100% 100%
Dressca.ApplicationCore.Baskets.BasketItem 84.2% 75%
Dressca.ApplicationCore.Baskets.CatalogItemNotExistingInBasketException 100%
Dressca.ApplicationCore.Catalog.CatalogBrand 84.6% 100%
Dressca.ApplicationCore.Catalog.CatalogCategory 84.6% 100%
Dressca.ApplicationCore.Catalog.CatalogDomainService 100% 60%
Dressca.ApplicationCore.Catalog.CatalogItem 91% 66.6%
Dressca.ApplicationCore.Catalog.CatalogItemAsset 92.8% 75%
Dressca.ApplicationCore.Events 100%
Dressca.ApplicationCore.Ordering.Address 94.7% 100%
Dressca.ApplicationCore.Ordering.CatalogItemOrdered 96.7% 100%
Dressca.ApplicationCore.Ordering.EmptyBasketOnCheckoutException 100%
Dressca.ApplicationCore.Ordering.NullBasketOnCheckoutException 100%
Dressca.ApplicationCore.Ordering.Order 100% 90%
Dressca.ApplicationCore.Ordering.OrderFactory 100%
Dressca.ApplicationCore.Ordering.OrderItem 88.2% 25%
Dressca.ApplicationCore.Ordering.OrderItemAsset 85.7% 75%
Dressca.ApplicationCore.Ordering.OrderNotFoundException 100%
Dressca.ApplicationCore.Ordering.ShipTo 92.3% 75%
Dressca.EfInfrastructure - 16.6%
Name Line Branch
Dressca.EfInfrastructure 16.6% 11.1%
Dressca.EfInfrastructure.Configurations.Assets.AssetConfiguration 100%
Dressca.EfInfrastructure.Configurations.Baskets.BasketConfiguration 100%
Dressca.EfInfrastructure.Configurations.Baskets.BasketItemConfiguration 100%
Dressca.EfInfrastructure.Configurations.Catalog.CatalogBrandConfiguration 100%
Dressca.EfInfrastructure.Configurations.Catalog.CatalogCategoryConfiguratio
n
100%
Dressca.EfInfrastructure.Configurations.Catalog.CatalogItemAssetConfigurati
on
100%
Dressca.EfInfrastructure.Configurations.Catalog.CatalogItemConfiguration 100%
Dressca.EfInfrastructure.Configurations.Ordering.OrderConfiguration 100% 100%
Dressca.EfInfrastructure.Configurations.Ordering.OrderItemAssetConfiguratio
n
100%
Dressca.EfInfrastructure.Configurations.Ordering.OrderItemConfiguration 100% 100%
Dressca.EfInfrastructure.DresscaDbContext 83.7% 50%
Dressca.EfInfrastructure.DresscaDbContextHealthCheck 60%
Dressca.EfInfrastructure.EfAssetRepository 0% 0%
Dressca.EfInfrastructure.EfBasketRepository 69.6% 50%
Dressca.EfInfrastructure.EfCatalogBrandRepository 20% 50%
Dressca.EfInfrastructure.EfCatalogCategoryRepository 20% 50%
Dressca.EfInfrastructure.EfCatalogRepository 28.5% 30%
Dressca.EfInfrastructure.EfInfrastructureServicesExtension 86.2% 75%
Dressca.EfInfrastructure.EfOrderRepository 100% 50%
Dressca.EfInfrastructure.Events 0%
Dressca.EfInfrastructure.HealthChecksBuilderExtensions 100% 100%
Dressca.EfInfrastructure.Migrations.DresscaDbContextModelSnapshot 0% 0%
Dressca.EfInfrastructure.Migrations.InitialCreate 0% 0%
Dressca.Store.Assets.StaticFiles - 17.2%
Name Line Branch
Dressca.Store.Assets.StaticFiles 17.2% 0%
Dressca.Store.Assets.StaticFiles.Events 0%
Dressca.Store.Assets.StaticFiles.StaticFileAssetStore 0% 0%
Dressca.Store.Assets.StaticFiles.StaticFileAssetStoreServicesExtension 100%
Dressca.SystemCommon - 42.3%
Name Line Branch
Dressca.SystemCommon 42.3% 66.6%
Dressca.SystemCommon.PagedList 0% 0%
System.ObjectExtensions 100% 100%
System.StringExtentions 100% 100%
Dressca.Web - 39.9%
Name Line Branch
Dressca.Web 39.9% 24.6%
__OptionValidationGeneratedAttributes 0% 0%
__OptionValidationStaticInstances 0%
Dressca.Web.Authorization.DummyAuthenticationHandler 0%
Dressca.Web.Authorization.StatusCodeMapAuthorizationMiddlewareResultHandler 0% 0%
Dressca.Web.Configuration.CookieSettingValidator 0% 0%
Dressca.Web.Configuration.CookieSetting 100%
Dressca.Web.Configuration.ValidateWebServerOptions 0% 0%
Dressca.Web.Configuration.WebServerOptions 100%
Dressca.Web.Controllers.ActionNameHelper 75% 50%
Dressca.Web.Controllers.ErrorController 8.3% 0%
Dressca.Web.Events 100%
Dressca.Web.Extensions.HttpSecurityHeadersMiddleware 100%
Dressca.Web.Extensions.HttpSecurityHeadersMiddlewareExtensions 100%
Dressca.Web.HealthChecks.HealthCheckDescriptionProvider 7.8% 25%
Dressca.Web.HealthChecks.HealthCheckDescriptionProvider.HealthCheckControll
erMetadata
0% 0%
Dressca.Web.Http.ApplicationCookieBuilder 94.4% 87.5%
Dressca.Web.Runtime.BusinessExceptionDevelopmentFilter 100% 57.1%
Dressca.Web.Runtime.BusinessExceptionFilter 100% 57.1%
Dressca.Web.Runtime.BusinessExceptionFilterBase 100% 83.3%
Dressca.Web.Runtime.DbUpdateConcurrencyExceptionDevelopmentFilter 100% 50%
Dressca.Web.Runtime.DbUpdateConcurrencyExceptionFilter 100% 50%
Dressca.Web.Runtime.DbUpdateConcurrencyExceptionFilterBase 100% 75%
Dressca.Web.Consumer - 53.1%
Name Line Branch
Dressca.Web.Consumer 53.1% 45.5%
Dressca.Web.Consumer.Assets.AssetExtensions 87.5% 50%
Dressca.Web.Consumer.Baskets.BuyerIdFilterAttribute 96.5% 58.3%
Dressca.Web.Consumer.Baskets.HttpContextExtensions 100% 100%
Dressca.Web.Consumer.Controllers.ApiModel.FindCatalogItemsQuery 0%
Dressca.Web.Consumer.Controllers.AssetsController 0% 0%
Dressca.Web.Consumer.Controllers.BasketItemsController 33.8% 30%
Dressca.Web.Consumer.Controllers.CatalogBrandsController 0% 0%
Dressca.Web.Consumer.Controllers.CatalogCategoriesController 0% 0%
Dressca.Web.Consumer.Controllers.CatalogItemsController 0% 0%
Dressca.Web.Consumer.Controllers.OrdersController 88.2% 50%
Dressca.Web.Consumer.Events 0%
Dressca.Web.Consumer.Mapper.BasketItemMapper 0% 0%
Dressca.Web.Consumer.Mapper.BasketMapper 9.5% 25%
Dressca.Web.Consumer.Mapper.CatalogBrandMapper 0% 0%
Dressca.Web.Consumer.Mapper.CatalogCategoryMapper 0% 0%
Dressca.Web.Consumer.Mapper.CatalogItemMapper 0% 0%
Dressca.Web.Consumer.Mapper.CatalogItemSummaryResponseMapper 0% 0%
Dressca.Web.Consumer.Mapper.DtoMapperServicesExtension 100%
Dressca.Web.Consumer.Mapper.OrderMapper 95.1% 83.3%
Program 81.5% 85%
Dressca.Web.Consumer.Dto - 57.4%
Name Line Branch
Dressca.Web.Consumer.Dto 57.4% ****
Dressca.Web.Consumer.Dto.Accounting.AccountResponse 100%
Dressca.Web.Consumer.Dto.Baskets.BasketItemResponse 0%
Dressca.Web.Consumer.Dto.Baskets.BasketResponse 0%
Dressca.Web.Consumer.Dto.Baskets.PostBasketItemsRequest 100%
Dressca.Web.Consumer.Dto.Baskets.PutBasketItemsRequest 0%
Dressca.Web.Consumer.Dto.Catalog.CatalogBrandResponse 0%
Dressca.Web.Consumer.Dto.Catalog.CatalogCategoryResponse 0%
Dressca.Web.Consumer.Dto.Catalog.CatalogItemResponse 0%
Dressca.Web.Consumer.Dto.Catalog.CatalogItemSummaryResponse 100%
Dressca.Web.Consumer.Dto.Ordering.OrderItemResponse 100%
Dressca.Web.Consumer.Dto.Ordering.OrderResponse 100%
Dressca.Web.Consumer.Dto.Ordering.PostOrderRequest 100%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file nuget NuGetパッケージの更新 target: Dressca サンプルアプリケーションDresscaに関係がある

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nullable required fields are marked as not null in typescript & C#

0 participants